Managing and editing stored media assets

ABSTRACT

Methods and systems are described for providing editing tools that allow a user to manipulate media provided by a media content source. Media editing tools may include content analysis tools capable of extracting information from the media content itself, and may include segment identification and editing tools. Editing tools may be created by a user, and stored or shared with other users. Users may be able to specify and customize a set of storage space requirements that impose constraints on the type, quantity and content of stored assets. Automatic storage management tools provide tools with which stored and to-be-stored assets may be transformed in order to maintain satisfaction of storage preferences and requirements.

BACKGROUND OF THE INVENTION

Media storage systems provide users with the ability to record mediaassets to a storage unit for future access. Such systems allow users,for example, to record a broadcast television program to a memory devicefor viewing at a later date, often with additional playback capabilitiessuch as pause, rewind and fast forward. The convenience and capabilitiesof stored media assets make media storage an especially desirablefeature of many media delivery systems.

However, users of such systems are often limited by the amount ofavailable storage space for recorded media assets. Once a storage devicereaches its storage capacity, previously stored assets must be deletedin order to make room for new recordings. Some users may have theopportunity to purchase additional storage space, either throughaugmenting and/or replacing local storage units or purchasing space on aremote storage device. Such opportunities are not available to all mediastorage system users, and may come at significant cost.

SUMMARY OF THE INVENTION

Consequently, there is a need for stored media asset management andediting tools that allow a user to adjust the recording and storageinstructions for a media asset to minimize the amount of storage spacerequired while preserving the features and content of the media assetsmost important to the user.

Such tools address the need for improved navigation and playback ofstored media assets by facilitating the editing of stored assets. Inparticular, such tools provide editing capabilities that allow a user tomanipulate media provided by a media content source. Media editing toolsmay include content analysis tools capable of extracting informationfrom the media content itself, and may include segment identificationand editing tools. Editing tools may be created by a user, and stored orshared with other users. Users may be able to specify and customize aset of storage space requirements that impose constraints on the type,quantity and content of stored assets. Automatic storage managementtools provide techniques by which stored and to-be-stored assets may betransformed in order to maintain satisfaction of storage preferences andrequirements.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and advantages of the invention will beapparent upon consideration of the following detailed description, takenin conjunction with the accompanying drawings, in which like referencecharacters refer to like parts throughout, and in which:

FIGS. 1 and 2 depict illustrative display screens that may be used toprovide media guidance application listings;

FIG. 3 depicts an illustrative user equipment device;

FIG. 4 is a simplified diagram of an illustrative interactive mediasystem;

FIG. 5 is a block diagram of an illustrative asset storage managementsystem;

FIG. 6 depicts an illustrative stored assets display screen;

FIGS. 7A-7E depict illustrative media editing tool display screens;

FIG. 8 depicts an illustrative stored assets display screen;

FIGS. 9A-9B depict illustrative segment identification and editingdisplay screens;

FIGS. 10A-10C depict illustrative custom tool configuration displayscreens;

FIGS. 11A-11B depict illustrative storage space requirements displayscreens;

FIG. 12 depicts an illustrative automatic storage management toolsdisplay screen; and

FIGS. 13-15 are flow diagrams of media editing and storage managementprocesses in accordance with embodiments of the invention.

DETAILED DESCRIPTION OF EMBODIMENTS

The amount of media available to users in any given media deliverysystem can be substantial. Consequently, many users desire a form ofmedia guidance through an interface that allows users to efficientlynavigate media selections and easily identify media that they maydesire. An application which provides such guidance is referred toherein as an interactive media guidance application or, sometimes, amedia guidance application or a guidance application.

Interactive media guidance applications may take various forms dependingon the media for which they provide guidance. One typical type of mediaguidance application is an interactive television program guide.Interactive television program guides (sometimes referred to aselectronic program guides) are well-known guidance applications that,among other things, allow users to navigate among and locate many typesof media content including conventional television programming (providedvia traditional broadcast, cable, satellite, Internet, or other means),as well as pay-per-view programs, on-demand programs (as invideo-on-demand (VOD) systems), Internet content (e.g., streaming media,downloadable media, webcasts, etc.), and other types of media or videocontent. Guidance applications allow users to navigate among and locatecontent related to the video content including, for example, videoclips, articles, advertisements, chat sessions, games, etc. Guidanceapplications allow users to navigate among and locate multimediacontent, as well as edit and store such content. The term multimedia isdefined herein as media and content that utilizes at least two differentcontent forms, such as text, audio, still images, animation, video, andinteractivity content forms. Multimedia content may be recorded andplayed, displayed or accessed by information content processing devices,such as computerized and electronic devices, but can be part of a liveperformance. It should be understood that the invention embodiments thatare discussed in relation to media content are applicable to other typesof content, such as video, audio and/or multimedia.

With the advent of the Internet, mobile computing, and high-speedwireless networks, users are accessing media on personal computers (PCs)and other devices on which they traditionally did not, such as hand-heldcomputers, personal digital assistants (PDAs), mobile telephones, orother mobile devices. On these devices users are able to navigate amongand locate the same media available through a television. Consequently,media guidance is necessary on these devices, as well. The guidanceprovided may be for media content available only through a television,for media content available only through one or more of these devices,or for media content available both through a television and one or moreof these devices. The media guidance applications may be provided ason-line applications (i.e., provided on a web-site), or as stand-aloneapplications or clients on hand-held computers, PDAs, mobile telephones,or other mobile devices. Such media guidance applications may includemedia storage management and media editing applications, which arediscussed further below. The various devices and platforms that mayimplement media guidance applications are described in more detailbelow.

One of the functions of the media guidance application is to providemedia listings and media information to users. FIGS. 1-2, 6 and 8 showillustrative display screens that may be used to provide media guidance,and in particular media listings. The display screens shown in FIGS.1-2, 6 and 8 may be implemented on any suitable device or platform.While the displays of FIGS. 1-2, 6 and 8 are illustrated as full screendisplays, they may be fully or partially overlaid over media contentbeing displayed. A user may indicate a desire to access mediainformation or media editing applications by selecting a selectableoption provided in a display screen (e.g., a menu option, a listingsoption, an icon, a hyperlink, etc.) or pressing a dedicated button(e.g., a GUIDE or a STORE button) on a remote control or other userinput interface or device. In response to the user's indication, themedia guidance application may provide a display screen with mediainformation organized in one of several ways, such as by time andchannel in a grid, by time, by channel, by media type, by category(e.g., movies, sports, news, children, or other categories ofprogramming), storage information (e.g., date stored, or playlist order)or other predefined, user-defined, or other organization criteria.

FIG. 1 shows illustrative grid program listings display 100 arranged bytime and channel that enables access to different types of media contentin a single display. Display 100 may include grid 102 with: (1) a columnof channel/media type identifiers 104, where each channel/media typeidentifier (which is a cell in the column) identifies a differentchannel or media type available; and (2) a row of time identifiers 106,where each time identifier (which is a cell in the row) identifies atime block of programming. Grid 102 includes cells of program listings,such as program listing 108, where each listing provides the title ofthe program provided on the listing's associated channel and time. Witha user input device, a user can select program listings by movinghighlight region 110. Information relating to the program listingselected by highlight region 110 may be provided in program informationregion 112. Region 112 may include, for example, the program title, theprogram description, the time the program is provided (if applicable),the channel the program is on (if applicable), the program's rating, andother desired information.

In addition to providing access to linear programming provided accordingto a schedule, the media guidance application provides access tonon-linear programming which is not provided according to a schedule.Non-linear programming may include content from different media sourcesincluding on-demand media content (e.g., VOD), Internet content (e.g.,streaming media, downloadable media, etc.), locally stored media content(e.g., video content stored on a digital video recorder (DVR), digitalvideo disc (DVD), video cassette, compact disc (CD), etc.),remotely-stored media content (e.g., video content stored on a remotedevice such as a web server, a remote hard drive, or a networked harddrive), or other time-insensitive media content. On-demand content mayinclude both movies and original media content provided by a particularmedia provider (e.g., HBO On Demand providing “The Sopranos” and “CurbYour Enthusiasm”). HBO ON DEMAND is a service mark owned by Time WarnerCompany L. P. et al. and THE SOPRANOS and CURB YOUR ENTHUSIASM aretrademarks owned by the Home Box Office, Inc. Internet content mayinclude web events, such as a chat session or Webcast, or contentavailable on-demand as streaming media or downloadable media through anInternet web site or other Internet access (e.g., FTP).

Grid 102 may provide listings for non-linear programming includingon-demand listing 114, recorded media listing 116, and Internet contentlisting 118. A display combining listings for content from differenttypes of media sources is sometimes referred to as a “mixed-media”display. The various permutations of the types of listings that may bedisplayed that are different than display 100 may be based on userselection or guidance application definition (e.g., a display of onlyrecorded and broadcast listings, only on-demand and broadcast listings,etc.). As illustrated, listings 114, 116, and 118 are shown as spanningthe entire time block displayed in grid 102 to indicate that selectionof these listings may provide access to a display dedicated to on-demandlistings, stored media assets, or Internet listings, respectively. Inother embodiments, listings for these media types may be includeddirectly in grid 102. Additional exemplary displays of stored mediaassets are depicted in FIGS. 6 and 8. Additional listings may bedisplayed in response to the user selecting one of the navigationalicons 120. (Pressing an arrow key on a user input device may affect thedisplay in a similar manner as selecting navigational icons 120.)

Display 100 may include video region 122, advertisement 124, and optionsregion 126. Video region 122 may allow the user to view and/or previewprograms that are currently available, will be available, or wereavailable to the user. The content of video region 122 may correspondto, or be independent from, one of the listings displayed in grid 102.Grid displays including a video region are sometimes referred to aspicture-in-guide (PIG) displays. PIG displays and their functionalitiesare described in greater detail in Satterfield et al. U.S. Pat. No.6,564,378, issued May 13, 2003 and Yuen et al. U.S. Pat. No. 6,239,794,issued May 29, 2001, which are hereby incorporated by reference hereinin their entireties. PIG displays may be included in other mediaguidance application display screens of the present invention.

Advertisement 124 may provide an advertisement for media content that,depending on a viewer's access rights (e.g., for subscriptionprogramming), is currently available for viewing, will be available forviewing in the future, or may never become available for viewing, andmay correspond to or be unrelated to one or more of the media listingsin grid 102. Advertisement 124 may be for products or services relatedor unrelated to the media content displayed in grid 102. Advertisement124 may be selectable and provide further information about mediacontent, provide information about a product or a service, enablepurchasing of media content, a product, or a service, provide mediacontent relating to the advertisement, etc. Advertisement 124 may betargeted based on a user's profile/preferences, monitored user activity,the type of display provided, or on other suitable targetedadvertisement bases.

While advertisement 124 is shown as rectangular or banner shaped,advertisements may be provided in any suitable size, shape, and locationin a guidance application display. For example, advertisement 124 may beprovided as a rectangular shape that is horizontally adjacent to grid102. This is sometimes referred to as a panel advertisement. Inaddition, advertisements may be overlaid over media content or aguidance application display or embedded within a display.Advertisements may include text, images, rotating images, video clips,or other types of media content. Advertisements may be stored in theuser equipment with the guidance application, in a database connected tothe user equipment, in a remote location (including streaming mediaservers), or on other storage means or a combination of these locations.Providing advertisements in a media guidance application is discussed ingreater detail in, for example, Knudson et al., U.S. patent applicationSer. No. 10/347,673, filed Jan. 17, 2003, Ward, III et al. U.S. Pat. No.6,756,997, issued Jun. 29, 2004, and Schein et al. U.S. Pat. No.6,388,714, issued May 14, 2002, which are hereby incorporated byreference herein in their entireties. It will be appreciated thatadvertisements may be included in other media guidance applicationdisplay screens of the present invention.

Options region 126 may allow the user to access different types of mediacontent, media guidance application displays, media editing applicationdisplays, media storage application displays, and/or media guidanceapplication features. Options region 126 may be part of display 100 (andother display screens of the present invention), or may be invoked by auser by selecting an on-screen option or pressing a dedicated orassignable button on a user input device. The selectable options withinoptions region 126 may concern features related to program listings ingrid 102 or may include options available from a main menu display.Features related to program listings may include searching for other airtimes or ways of receiving a program, recording a program, enablingseries recording of a program, viewing and configuring editing andstorage tools related to a program, setting program and/or channel as afavorite, purchasing a program, or other features. Options availablefrom a main menu display may include search options, VOD options,parental control options, access to various types of listing displays,subscribe to a premium service, edit a user's profile or media assetstorage preferences, review of available editing tools, access a browseoverlay, or other options.

The media guidance application may be personalized based on a user'spreferences. A personalized media guidance application allows a user tocustomize displays and features to create a personalized “experience”with the media guidance application. This personalized experience may becreated by allowing a user to input these customizations and/or by themedia guidance application monitoring user activity to determine varioususer preferences. Users may access their personalized guidanceapplication by logging in or otherwise identifying themselves to theguidance application. Customization of the media guidance applicationmay be made in accordance with a user profile. The customizations mayinclude varying presentation schemes (e.g., color scheme of displays,font size of text, etc.), aspects of media content listings displayed(e.g., only HDTV programming, user-specified broadcast channels based onfavorite channel selections, re-ordering the display of channels,recommended media content, etc.), desired recording features (e.g.,recording or series recordings for particular users, recording quality,editing tools, storage preferences, etc.), parental control settings,and other desired customizations.

The media guidance application may allow a user to provide user profileinformation or may automatically compile user profile information,including media recording, editing and storage preferences. The mediaguidance application may, for example, monitor the media the useraccesses and/or other interactions the user may have with the guidanceapplication. Additionally, the media guidance application may obtain allor part of other user profiles that are related to a particular user(e.g., from other web sites on the Internet the user accesses, such aswww.tvguide.com, from other media guidance applications the useraccesses, from other interactive applications the user accesses, from ahandheld device of the user, etc.), and/or obtain information about theuser from other sources that the media guidance application may access.As a result, a user can be provided with a unified guidance applicationexperience across the user's different devices. This type of userexperience is described in greater detail below in connection with FIG.4. Additional personalized media guidance application features aredescribed in greater detail in Ellis et al., U.S. patent applicationSer. No. 11/179,410, filed Jul. 11, 2005, Boyer et al., U.S. patentapplication Ser. No. 09/437,304, filed Nov. 9, 1999, and Ellis et al.,U.S. patent application Ser. No. 10/105,128, filed Feb. 21, 2002, whichare hereby incorporated by reference herein in their entireties.

Another display arrangement for providing media guidance is shown inFIG. 2. Video mosaic display 200 includes selectable options 202 formedia content information organized based on media type, genre, and/orother organization criteria. In display 200, television listings option204 is selected, thus providing listings 206, 208, 210, and 212 asbroadcast program listings. Unlike the listings from FIG. 1, thelistings in display 200 are not limited to simple text (e.g., theprogram title) and icons to describe media. Rather, in display 200 thelistings may provide graphical images including cover art, still imagesfrom the media content, video clip previews, live video from the mediacontent, or other types of media that indicate to a user the mediacontent being described by the listing. Each of the graphical listingsmay be accompanied by text to provide further information about themedia content associated with the listing. For example, listing 208 mayinclude more than one portion, including media portion 214 and textportion 216. Media portion 214 and/or text portion 216 may be selectableto view video in full-screen or to view program listings related to thevideo displayed in media portion 214 (e.g., to view listings for thechannel that the video is displayed on).

The listings in display 200 are of different sizes (i.e., listing 206 islarger than listings 208, 210, and 212), but if desired, all thelistings may be the same size. Listings may be of different sizes orgraphically accentuated to indicate degrees of interest to the user orto emphasize certain content, as desired by the media provider or basedon user preferences. Various systems and methods for graphicallyaccentuating media listings are discussed in, for example, Yates, U.S.patent application Ser. No. 11/324,202, filed Dec. 29, 2005, which ishereby incorporated by reference herein in its entirety.

Users may access media content and media guidance applications (and itsdisplay screens described above and below) from one or more of theiruser equipment devices. FIG. 3 shows a generalized embodiment ofillustrative user equipment device 300. More specific implementations ofuser equipment devices are discussed below in connection with FIG. 4.User equipment device 300 may receive media content and data viainput/output (hereinafter “I/O”) path 302. I/O path 302 may providemedia content (e.g., broadcast programming, on-demand programming,Internet content, and other video or audio) and data to controlcircuitry 304, which includes processing circuitry 306 and storage 308.Control circuitry 304 may be used to send and receive commands,requests, and other suitable data using I/O path 302. I/O path 302 mayconnect control circuitry 304 (and specifically processing circuitry306) to one or more communications paths (described below). I/Ofunctions may be provided by one or more of these communications paths,but are shown as a single path in FIG. 3 to avoid overcomplicating thedrawing.

Control circuitry 304 may be based on any suitable processing circuitry306 such as processing circuitry based on one or more microprocessors,microcontrollers, digital signal processors, programmable logic devices,etc. In an embodiment, control circuitry 304 executes instructions for amedia guidance application stored in memory (i.e., storage 308). Inclient-server based embodiments, control circuitry 304 may includecommunications circuitry suitable for communicating with a guidanceapplication server or other networks or servers. Such servers mayprovide, for example, remote storage of users' recorded media content asan alternative or supplement to storage 308. Communications circuitrymay include a cable modem, an integrated services digital network (ISDN)modem, a digital subscriber line (DSL) modem, a telephone modem, or awireless modem for communications with other equipment. Suchcommunications may involve the Internet or any other suitablecommunications networks or paths (which is described in more detail inconnection with FIG. 4). In addition, communications circuitry mayinclude circuitry that enables peer-to-peer communication of userequipment devices, or communication of user equipment devices inlocations remote from each other (described in more detail below).Peer-to-peer communication may enable a user to view media assets storedon a first user equipment device from a second user equipment device.Peer-to-peer communication may allow editing tools to be shared betweenmultiple user equipment devices.

Memory (e.g., random-access memory, read-only memory, or any othersuitable memory), hard drives, optical drives, or any other suitablefixed or removable storage devices (e.g., DVD recorder, CD recorder,video cassette recorder, or other suitable recording device) may beprovided as storage 308 that is part of control circuitry 304. Storage308 may include one or more of the above types of storage devices. Forexample, user equipment device 300 may include a hard drive for a DVR(sometimes called a personal video recorder, or PVR) and a DVD recorderas a secondary storage device. Storage 308 may be used to store varioustypes of media described herein, including guidance application data,including program information, guidance application settings, userpreferences or profile information; media storage and media editingtools and preferences; or other data used in operating the guidanceapplication. Nonvolatile memory may be used (e.g., to launch a boot-uproutine and other instructions).

Control circuitry 304 may include video generating circuitry and tuningcircuitry, such as one or more analog tuners, one or more MPEG-2decoders or other digital decoding circuitry, high-definition tuners, orany other suitable tuning or video circuits or combinations of suchcircuits. Encoding circuitry (e.g., for converting over-the-air, analog,or digital signals to MPEG signals for storage) may be provided. Controlcircuitry 304 may include scaler circuitry for upconverting anddownconverting media into the preferred output format of the userequipment 300. Such circuitry may be employed by a media editingapplication, as further described below. Circuitry 304 may includedigital-to-analog converter circuitry and analog-to-digital convertercircuitry for converting between digital and analog signals. The tuningand encoding circuitry may be used by the user equipment to receive andto display, to play, or to record media content. The tuning and encodingcircuitry may be used to receive guidance data. The circuitry describedherein, including for example, the tuning, video generating, encoding,decoding, scaler, and analog/digital circuitry, may be implemented usingsoftware running on one or more general purpose or specializedprocessors. Multiple tuners may be provided to handle simultaneoustuning functions (e.g., watch and record functions, picture-in-picture(PIP) functions, multiple-tuner recording, etc.). If storage 308 isprovided as a separate device from user equipment 300, the tuning andencoding circuitry (including multiple tuners) may be associated withstorage 308.

A user may control the control circuitry 304 using user input interface310. User input interface 310 may be any suitable user interface, suchas a remote control, mouse, trackball, keypad, keyboard, touch screen,touch pad, stylus input, joystick, voice recognition interface, or otheruser input interfaces. Display 312 may be provided as a stand-alonedevice or integrated with other elements of user equipment device 300.Display 312 may be one or more of a monitor, a television, a liquidcrystal display (LCD) for a mobile device, or any other suitableequipment for displaying visual images. In an embodiment, display 312may be HDTV-capable. Speakers 314 may be provided as integrated withother elements of user equipment device 300 or may be stand-alone units.The audio component of videos and other media content displayed ondisplay 312 may be played through speakers 314. In an embodiment, theaudio may be distributed to a receiver (not shown), which processes andoutputs the audio via speakers 314.

The guidance application may be implemented using any suitablearchitecture. For example, it may be a stand-alone application whollyimplemented on user equipment device 300. In such an approach,instructions of the application are stored locally, and data for use bythe application is downloaded on a periodic basis (e.g., from the VBI ofa television channel, from an out-of-band feed, or using anothersuitable approach). In another embodiment, the media guidanceapplication is a client-server based application. Data for use by athick or thin client implemented on user equipment device 300 isretrieved on-demand by issuing requests to a server remote to the userequipment device 300. In one example of a client-server based guidanceapplication, control circuitry 304 runs a web browser that interpretsweb pages provided by a remote server.

In other embodiments, the media guidance application is downloaded andinterpreted or otherwise run by an interpreter or virtual machine (runby control circuitry 304). In an embodiment, the guidance application,including media editing tools, may be encoded in the ETV BinaryInterchange Format (EBIF), received by control circuitry 304 as part ofa suitable feed, and interpreted by a user agent running on controlcircuitry 304. For example, the guidance application may be a EBIFwidget. In other embodiments, the guidance application may be defined bya series of JAVA-based files that are received and run by a localvirtual machine or other suitable middleware executed by controlcircuitry 304. In some of such embodiments (e.g., those employing MPEG-2or other digital media encoding schemes), the guidance application maybe, for example, encoded and transmitted in an MPEG-2 object carouselwith the MPEG audio and video packets of a program.

User equipment device 300 of FIG. 3 can be implemented in system 400 ofFIG. 4 as user television equipment 402, user computer equipment 404,wireless user communications device 406, or any other type of userequipment suitable for accessing media, such as a non-portable gamingmachine. For simplicity, these devices may be referred to hereincollectively as user equipment or user equipment devices. User equipmentdevices, on which a media guidance application is implemented, mayfunction as a standalone device or may be part of a network of devices.Various network configurations of devices may be implemented and arediscussed in more detail below.

User television equipment 402 may include a set-top box, an integratedreceiver decoder (IRD) for handling satellite television, a televisionset, a digital storage device, a DVD recorder, a video-cassette recorder(VCR), a local media server, or other user television equipment. One ormore of these devices may be integrated to be a single device, ifdesired. User computer equipment 404 may include a PC, a laptop, atablet, a WebTV box, a personal computer television (PC/TV), a PC mediaserver, a PC media center, or other user computer equipment. WEBTV is atrademark owned by Microsoft Corp. Wireless user communications device406 may include PDAs, a mobile telephone, a portable video player, aportable music player, a portable gaming machine, or other wirelessdevices.

It should be noted that with the advent of television tuner cards forPC's, WebTV, and the integration of video into other user equipmentdevices, the lines have become blurred when trying to classify a deviceas one of the above devices. In fact, each of user television equipment402, user computer equipment 404, and wireless user communicationsdevice 406 may utilize at least some of the system features describedabove in connection with FIG. 3 and, as a result, include flexibilitywith respect to the type of media content available on the device. Forexample, user television equipment 402 may be Internet-enabled allowingfor access to Internet content, while user computer equipment 404 mayinclude a tuner allowing for access to television programming. The mediaguidance application may have the same layout on the various differenttypes of user equipment or may be tailored to the display capabilitiesof the user equipment. For example, on user computer equipment, theguidance application may be provided as a web site accessed by a webbrowser. In another example, the guidance application may be scaled downfor wireless user communications devices.

In system 400, there is typically more than one of each type of userequipment device but only one of each is shown in FIG. 4 to avoidovercomplicating the drawing. In addition, each user may utilize morethan one type of user equipment device (e.g., a user may have atelevision set and a computer) and more than one of each type of userequipment device (e.g., a user may have a PDA and a mobile telephoneand/or multiple television sets).

The user may set various settings to maintain consistent media guidanceapplication settings across in-home devices and remote devices. Settingsinclude those described herein, as well as channel and programfavorites, programming preferences that the guidance applicationutilizes to make programming recommendations, display preferences, mediaasset storage and editing settings, and other desirable settings. Forexample, if a user sets a channel as a favorite on, for example, the website www.tvguide.com on their personal computer at their office, thesame channel would appear as a favorite on the user's in-home devices(e.g., user television equipment and user computer equipment) as well asthe user's mobile devices, if desired. Therefore, changes made on oneuser equipment device can change the guidance experience on another userequipment device, regardless of whether they are the same or a differenttype of user equipment device. In addition, the changes made may bebased on settings input by a user, as well as user activity monitored bythe guidance application.

The user equipment devices may be coupled to communications network 414.Namely, user television equipment 402, user computer equipment 404, andwireless user communications device 406 are coupled to communicationsnetwork 414 via communications paths 408, 410, and 412, respectively.Communications network 414 may be one or more networks including theInternet, a mobile phone network, mobile device (e.g., Blackberry)network, cable network, public switched telephone network, or othertypes of communications networks or combinations of communicationsnetworks. BLACKBERRY is a service mark owned by Research In MotionLimited Corp. Paths 408, 410, and 412 may separately or together includeone or more communications paths, such as a satellite path, afiber-optic path, a cable path, a path that supports Internetcommunications (e.g., IPTV), free-space connections (e.g., for broadcastor other wireless signals), or any other suitable wired or wirelesscommunications path or combination of such paths. Path 412 is drawn withdotted lines to indicate that in the exemplary embodiment shown in FIG.4 it is a wireless path and paths 408 and 410 are drawn as solid linesto indicate they are wired paths (although these paths may be wirelesspaths, if desired). Communications with the user equipment devices maybe provided by one or more of these communications paths, but are shownas a single path in FIG. 4 to avoid overcomplicating the drawing.

Although communications paths are not drawn between user equipmentdevices, these devices may communicate directly with each other viacommunication paths, such as those described above in connection withpaths 408, 410, and 412, as well as other short-range point-to-pointcommunication paths, such as USB cables, IEEE 1394 cables, wirelesspaths (e.g., Bluetooth, infrared, IEEE 802-11x, etc.), or othershort-range communication via wired or wireless paths. BLUETOOTH is acertification mark owned by Bluetooth SIG, INC. The user equipmentdevices may communicate with each other directly through an indirectpath via communications network 414.

System 400 includes media content source 416 and media guidance datasource 418 coupled to communications network 414 via communication paths420 and 422, respectively. Paths 420 and 422 may include any of thecommunication paths described above in connection with paths 408, 410,and 412. Communications with the media content source 416 and mediaguidance data source 418 may be exchanged over one or morecommunications paths, but are shown as a single path in FIG. 4 to avoidovercomplicating the drawing. In addition, there may be more than one ofeach of media content source 416 and media guidance data source 418, butonly one of each is shown in FIG. 4 to avoid overcomplicating thedrawing. (The different types of each of these sources are discussedbelow.) If desired, media content source 416 and media guidance datasource 418 may be integrated as one source device. Althoughcommunications between sources 416 and 418 with user equipment devices402, 404, and 406 are shown as through communications network 414, in anembodiment, sources 416 and 418 may communicate directly with userequipment devices 402, 404, and 406 via communication paths (not shown)such as those described above in connection with paths 408, 410, and412.

Media content source 416 may include one or more types of mediadistribution equipment including a television distribution facility,cable system headend, satellite distribution facility, programmingsources (e.g., television broadcasters, such as NBC, ABC, HBO, etc.),intermediate distribution facilities and/or servers, Internet providers,on-demand media servers, and other media content providers. NBC is atrademark owned by the National Broadcasting Company, Inc., ABC is atrademark owned by the ABC, INC., and HBO is a trademark owned by theHome Box Office, Inc. Media content source 416 may be the originator ofmedia content (e.g., a television broadcaster, a Webcast provider, etc.)or may not be the originator of media content (e.g., an on-demand mediacontent provider, an Internet provider of video content of broadcastprograms for downloading, etc.). Media content source 416 may includecable sources, satellite providers, on-demand providers, Internetproviders, or other providers of media content. Media content source 416may include a remote media server used to store different types of mediacontent (including video content selected by a user), in a locationremote from any of the user equipment devices. Systems and methods forremote storage of media content, and providing remotely stored mediacontent to user equipment are discussed in greater detail in connectionwith Ellis et al., U.S. patent application Ser. No. 09/332,244, filedJun. 11, 1999, which is hereby incorporated by reference herein in itsentirety.

Media guidance data source 418 may provide media guidance data, such asmedia listings, media-related information (e.g., broadcast times,broadcast channels, media titles, media descriptions, ratingsinformation (e.g., parental control ratings, critic's ratings, etc.),genre or category information, actor information, logo data forbroadcasters' or providers' logos, etc.), media format (e.g., standarddefinition, high definition, etc.), advertisement information (e.g.,text, images, media clips, etc.), on-demand information, and any othertype of guidance data that is helpful for a user to navigate among andlocate desired media selections.

Media guidance data may include data useful for media editingapplications run on user equipment. Such data may, for example, indicatethe start and end points of segments within a program and/or provideinformation about the content of the segments. For example, mediaguidance data source 418 may provide start times and durations for thesegments of a game show which feature a particular participant, as wellas provide information regarding the identity of the participant and thecontent of the segment. Media guidance and/or media editing applicationsmay display this data to a user to allow him or her to tailor his or herviewing experience or provide editing instructions for program segmentsto be stored.

Media guidance application data may be provided to the user equipmentdevices using any suitable approach. In an embodiment, the guidanceapplication may be a stand-alone interactive television program guidethat receives program guide data via a data feed (e.g., a continuousfeed, trickle feed, or data in the vertical blanking interval of achannel).

Program schedule data and other guidance data may be provided to theuser equipment on a television channel sideband, in the verticalblanking interval of a television channel, using an in-band digitalsignal, using an out-of-band digital signal, or by any other suitabledata transmission technique. Program schedule data and other guidancedata may be provided to user equipment on multiple analog or digitaltelevision channels. Program schedule data and other guidance data maybe provided to the user equipment with any suitable frequency (e.g.,continuously, daily, a user-specified period of time, a system-specifiedperiod of time, in response to a request from user equipment, etc.). Insome approaches, guidance data from media guidance data source 418 maybe provided to users' equipment using a client-server approach. Forexample, a guidance application client residing on the user's equipmentmay initiate sessions with source 418 to obtain guidance data whenneeded. Media guidance data source 418 may provide user equipmentdevices 402, 404, and 406 the media guidance application itself orsoftware updates for the media guidance application.

Media guidance applications may be, for example, stand-aloneapplications implemented on user equipment devices. In otherembodiments, media guidance applications may be client-serverapplications where only the client resides on the user equipment device.For example, media guidance applications may be implemented partially asa client application on control circuitry 304 of user equipment device300 and partially on a remote server as a server application (e.g.,media guidance data source 418). The guidance application displays maybe generated by the media guidance data source 418 and transmitted tothe user equipment devices. The media guidance data source 418 maytransmit data for storage on the user equipment, which then generatesthe guidance application displays based on instructions processed bycontrol circuitry.

Media guidance data source 418 may make editing tools available to usersfor use with stored media assets. Such tools may be downloaded frommedia guidance data source 418 to a user equipment device, or may beaccessed remotely by a user. These editing tools, as well as otherapplications and features, may be provided to users on a subscriptionbasis or may be selectively downloaded or used for an additional fee. Inan embodiment, media guidance data source 418 may serve as a repositoryfor editing and stored asset management tools developed by users and/orthird-parties, and as a distribution source for these tools.

Media guidance system 400 is intended to illustrate a number ofapproaches, or network configurations, by which user equipment devicesand sources of media content and guidance data may communicate with eachother for the purpose of accessing media and providing media guidance.The present invention may be applied in any one or a subset of theseapproaches, or in a system employing other approaches for deliveringmedia and providing media guidance. The following three approachesprovide specific illustrations of the generalized example of FIG. 4.

In one approach, user equipment devices may communicate with each otherwithin a home network. User equipment devices can communicate with eachother directly via short-range point-to-point communication schemesdescribe above, via indirect paths through a hub or other similar deviceprovided on a home network, or via communications network 414. Each ofthe multiple individuals in a single home may operate different userequipment devices on the home network. As a result, it may be desirablefor various media guidance information or settings to be communicatedbetween the different user equipment devices. For example, it may bedesirable for users to maintain consistent media guidance applicationsettings on different user equipment devices within a home network, asdescribed in greater detail in Ellis et al., U.S. patent applicationSer. No. 11/179,410, filed Jul. 11, 2005. Different types of userequipment devices in a home network may communicate with each other totransmit media content. For example, a user may transmit media contentfrom user computer equipment to a portable video player or portablemusic player.

In a second approach, users may have multiple types of user equipment bywhich they access media content and obtain media guidance. For example,some users may have home networks that are accessed by in-home andmobile devices. Users may control in-home devices via a media guidanceapplication implemented on a remote device. For example, users mayaccess an online media guidance application on a website via a personalcomputer at their office, or a mobile device such as a PDA orweb-enabled mobile telephone. The user may set various settings (e.g.,recordings, reminders, or other settings) on the online guidanceapplication to control the user's in-home equipment. The online guidemay control the user's equipment directly, or by communicating with amedia guidance application on the user's in-home equipment. Varioussystems and methods for user equipment devices communicating, where theuser equipment devices are in locations remote from each other, isdiscussed in, for example, Ellis et al., U.S. patent application Ser.No. 10/927,814, filed Aug. 26, 2004, which is hereby incorporated byreference herein in its entirety.

In a third approach, users of user equipment devices inside and outsidea home can use their media guidance application to communicate directlywith media content source 416 to access media content. Specifically,within a home, users of user television equipment 402 and user computerequipment 404 may access the media guidance application to navigateamong and locate desirable media content. Users may access the mediaguidance application outside of the home using wireless usercommunications devices 406 to navigate among and locate desirable mediacontent.

It will be appreciated that while the discussion of media content hasfocused on video content, the principles of media guidance can beapplied to other types of media content, such as music, images, etc.

FIG. 5 is a block diagram of illustrative asset storage managementsystem 500. As described above, asset storage management systems may beused to manage storage space used for recorded media assets and improvethe navigation and playback of stored assets. Media storage request 502is issued to asset storage engine (ASE) 504. Media storage request 502may be the result of an explicit user input (e.g., the pressing of asequence of keys on a remote control while a screen such as FIG. 1 isdisplayed), or may be issued automatically by the user equipment as partof a scheduled or pre-defined recording routine. ASE 504 may containstorage allocation engine 506, media information sources 508, storedassets database 510 and editing tool engine 512.

Storage allocation engine 506 maintains storage preferences andrequirements 514 of the available storage devices. For example,preferences and requirements 514 may specify that the maximum capacityof a local magnetic hard drive is 50 GB, that the user prefers no morethan 20% of storage be used by media content classified in the “hip-hopmusic video” category, and that content not viewed within the previousmonth be deleted. Preferences and requirements 514 may be set by a user,for example, via options region 126 of the display of FIG. 1, or may beconfigured through another user input mechanism. Alternatively,preferences and requirements 514 may be imposed by user equipment or bythe media delivery system (e.g., as part of a subscription agreement).Automatic storage management tools 515 provide techniques by which thestored and to-be-stored assets may be transformed in order to maintainsatisfaction of preferences and requirements 514, and are discussed indetail below. Storage monitoring engine 516 maintains informationrelated to the current and past usage of the storage space (e.g., 16 GBare currently free on a local hard drive, and the peak past usage of aremote storage device was 9 GB).

Upon receipt of media storage request 502, asset storage engine 504retrieves information from media information sources 508. Mediainformation sources 508 provide information regarding the media that isthe subject of media storage request 502, which may include, forexample, identification information (e.g., media type identifiers 104and time identifiers 106), listing information, content information,segment start and end times, as well as any other information associatedwith the requested media. Media information sources 508 may provide anyinformation to supplement the content of the requested media, includingpointers to related content, associated electronic applications,advertisements for related products and services, as well as storage andaccess constraints (e.g., parental controls and/or expiration dates).Media information sources 508 may include components similar to those ofmedia guidance data source 418, as described above.

In particular, media information sources 508 may include contentanalysis engine 518 which may be capable of extracting information fromthe media content itself. Content analysis engine 518 may reside onlocal user equipment, or may be executed on a remote processor and itsresults communicated to local user equipment via I/O 302. Contentanalysis engine 518 may perform any of the following functions: detectsegments within the requested media (e.g., identify commercials within amedia event), distinguish different rounds of a game show, distinguishdifferent songs from a streaming audio source, separate the openingsequence and credits from the rest of a television program); audioand/or video feature extraction (e.g., classifying a program in the“nature” genre based on video content, identifying songs featured in abroadcast movie by analysis of an audio component); and content matching(e.g., determining that two television programs are different episodesof a same series based on comparison of the opening/closing sequences orfeatured actors).

Content analysis engine 518 may be personalized for the preferences andviewing patterns of a user, as described above with reference to mediaguidance applications. Content analysis engine 518 may perform itsfunctions based purely on the content of the media of the storagerequest (e.g., by performing a principal components analysis or othersuitable statistical technique on selected features of the media, and/orcomparing selected features of the media to a lookup table of contentmarkers), and may supplement the content analysis with informationprovided by another of media information sources 508.

Media information sources 508 may include real-time/streaminginformation 520 provided to the user equipment. As described withreference to media guidance data source 418, real-time/streaminginformation 520 may be provided by any suitable data transmissiontechnique (e.g., over communications network 414), including embeddinginformation in a digital signal transmitted in-band or out-of-band. Forexample, closed caption information may be provided alongside bothanalog and digital television signals. Another example of a system forembedding information into graphic content is described in Yuen U.S.Pat. No. 6,859,799, issued Feb. 22, 2005, which is hereby incorporatedby reference herein in its entirety.

Media information may be provided through electronic program guide (EPG)522, which may provide the linear and non-linear programming informationdiscussed in detail above (e.g., with reference to illustrative gridprogram listings display 100 of FIG. 1). EPG 522 may store programinformation which can be utilized by asset storage engine 504.

In an embodiment, media information sources 508 include alternativeinformation sources 524. Alternative information sources 524 may includeuser-supplied information (such as personal ratings, genreclassification or membership in a personal playlist),periodically-supplied information (such as weekly movie reviewsdownloaded from a web site) or information extracted from physicalstorage media (such as DVDs or Flash memory devices). Additionally,media information may be integrated from data provided by any of usertelevision equipment 402, user computer equipment 404 and user wirelesscommunication device 406.

In an embodiment, ASE 504 includes stored assets database 510. Storedassets database 510 may include storage index 526 which catalogs all ofthe currently stored media assets located in local storage 528 and/orremote storage 530. These stored media assets may be based on thecontent provided by media content source 416, and may include an editedprogram generated in accordance with asset storage template 536 providedby asset storage engine 504 as described below. Stored assets database510 may include information provided by any of media information sources508, and may provide information regarding stored assets to othercomponents of asset storage engine 504, such as content analysis engine518.

Asset storage engine 504 may include editing tool engine 512, whichprovides editing capabilities that allow a user to manipulate mediaprovided by media content source 416 (FIG. 4) to be stored as a mediaasset. Editing tool engine 512 may have several sources of editingtransformations that can be invoked by asset storage engine 504,including stored editing tools 532 and accessible editing tools 534.Stored editing tools 532 may include those stored on local userequipment or in a remote storage. Accessible editing tools 534 are thosethat are available to a user under restricted conditions, such asrequiring a fee or membership. An editing tool may be pre-defined andsupplied by the media delivery system provider, or may be created andstored by users. Parameters and preferences for editing tool engine 512may be set by a user via options region 126 or by any suitable userinterface. Many embodiments of editing tools in accordance with theinvention are discussed in detail below.

In response to media storage request 502, ASE 504 provides asset storagetemplate 536. Asset storage template 536 includes a set of storageinstructions for the media to be stored. These instructions are producedat the conclusion of the execution of storage allocation engine 506 andediting tool engine 512 with input from media information sources 508and stored assets database 510. For example, asset storage template 536may include instructions to store portions of an episode of thetelevision program “American Idol” in which Kelly Clarkson is thefeatured participant, as a result of the execution of a “clipping”editing tool based on identified segments of the program which featureKelly Clarkson.

The creation of asset storage template 536 will now be discussed withreference to FIGS. 6-15. FIGS. 6-12 depict examples of display screensthat illustrate some of the media and editing storage features of theinvention. However, it is understood that these and other features ofthe invention may be embodied in any appropriate user interface ordisplay.

FIG. 6 depicts illustrative stored assets display screen 600 inaccordance with an embodiment of the invention.

Stored assets display screen 600 includes a list of stored media assets602 and navigation/options area 604. The media assets of list 602 may beall or a subset of those assets catalogued in stored assets database510, and may be displayed in any convenient manner (e.g., by title, dateof recording, or in a user-specified order). Stored media assets list602 may include media items scheduled for future recording, and maydisplay those items in list 602 in a distinguishing manner (e.g., withan italicized title). Stored media assets list 602 may be filtered andsorted according to user instructions. The media assets displayed inlist 602 may be selectable. Navigation/options area 604 may containselectable icons that allow a user to navigate to different parts of themedia guidance application, including editing tool icon 606.Navigation/options area 604 may include information region 608 fordisplaying advertisements, details of selected media assets, newsheadlines, or any other information.

In FIG. 6, stored media asset 610, entitled “Descent, Part I”, has beenselected (e.g., via user input interface 310). After selecting one ormore stored media assets, a user may launch a media editing tool displayscreen by, for example, selecting editing tool icon 606. A media editingtool display screen may be launched prior to selecting a stored mediaasset. In this scenario, once launched, the media editing tool displayscreen may prompt the user to select media assets for editing. In anembodiment, an editing tool as described herein can be applied to mediaitems that have not yet been stored but are scheduled for futurerecording.

FIGS. 7A-7E depict illustrative media editing tool display screens inaccordance with embodiments of the invention. Media editing tool displayscreen 700 includes selected asset display region 702, which lists theassets currently selected for editing. Editing tool tab region 704provides different categories of editing tools that may be applied tothe currently selected assets. In an embodiment, only some of thecategories of editing tools may be applied to the currently selectedassets. For example, FIG. 7A depicts tab 706 labeled “Combine” as shadedto indicate that its editing options may not be applied to the mediaassets listed in selected asset display region 702. The editing toolsavailable to a user may depend on a factor or factors such as theapplicability of the editing tool to the selected media asset, theavailability of the information required by the editing tool, thecapabilities of the equipment performing the editing operations,requirements imposed by a provider or source of the selected mediaassets, access restrictions based on a service contract, and/oruser-specified controls (e.g., parental controls).

Editing tool tab region 704 may indicate a currently selected editingtool tab, which is tab 708 labeled “Remove” in FIG. 7A. When tab 708 iscurrently selected, editing tools associated with the “Remove” categoryof editing tools will be displayed for the user in editing tools displayregion 710.

A number of editing tools associated with the “Remove” category aredepicted in FIG. 7A. In an embodiment, a user is able to select one ormore portions of the selected assets that are designated for removalbefore storing. By checking closing credits box 712, for example, theuser may indicate that closing credits included in the selected assetsare designated for removal from the selected media assets if they arealready stored, or are not to be stored when the selected media assetsare scheduled to be recorded in the future. In an embodiment, an editingtool is provided that removes commercials from the selected media assetwhen stored. When a user selects such a commercial removal tool,segments of the selected media assets which are identified ascommercials are distinguished from non-commercial segments, and only thenon-commercial segments are retained when the selected assets arestored.

In an embodiment, a removal tool may be accompanied by a defaulttransition option or may allow a user to specify the transition to usein place of the removed segment. For example, rather than having a “hardcut” between the portions of a program immediately preceding andfollowing a removed commercial, a commercial removal tool may include afade or other transition. Transition options are discussed in additionaldetail below with reference to FIG. 7E.

In an embodiment, not all types of asset portions may be available to beremoved from every selected media asset. For example, in FIG. 7A, acommercial removal tool as described above is depicted as “unavailable”by the shading of commercial removal box 714. The availability ofcertain editing tools or categories of editing tools may be determinedby constraints on the editing options available for the selected mediaassets, or may be imposed by the media delivery system. For example,sponsors of a streaming radio program may not wish to have commercialsremoved from their program when stored, and thus may request that thistool be disabled when the program is edited. Other types of assetportions that may be removed by an editing tool include opening credits,closing credits, recap sequences, and preview sequences.

The display of FIG. 7A includes an option for a user to select “Othertools” for removing portions of the selected assets by checking othertools box 716. Such other tools may be provided and stored as describedabove with reference to editing tool engine 512 (FIG. 5). In anembodiment, a user may be given the option to only store portions of theselected assets that are not already stored. For example, if new contentbox 720 is selected, editing tool engine 512 will compare the selectedassets against stored assets database 510 to determine if any content isrepeated. If there is repeated content (e.g., an episode of a televisionseries has already been stored, or an image has already been stored),only the non-repeated content of the selected assets will be stored.

When a user has completed selecting or defining all of the desiredediting tools in the “Removal” category, he or she may select anotherediting tool category from editing tool tab region 704. If no additionalcategories are of interest, the user may indicate that he or she isfinished with customizing the editing tools to be applied to theselected assets (e.g., by selecting “Done” button 722 or pressing adedicated key on a user input device).

FIG. 7B depicts illustrative media editing tool display screen 720 inwhich tab 724 labeled “Format” is the currently selected editing tooltab. In FIG. 7B, editing tools associated with the “Format” category aredisplayed in editing tools display region 710. In an embodiment, a usermay select one or more editing tools that adjust the format propertiesof the selected assets displayed in selected asset display region 702.An editing tool may allow a user to downsample an HD program and store acorresponding SD media asset, thereby reducing the storage spacerequired. Editing tools may be provided that decrease the screen size ofany selected video assets or resolution (temporal and/or spatial) of theselected assets.

Additionally, display screen 720 may include editing tools that replaceportions of the selected assets with corresponding reduced memoryportions. For example, an editing tool may replace a video commercialwith a still image advertisement in the stored asset. Alternatively, avideo commercial may be replaced by a text-only advertisement. Thesereduced memory portions may be included in the edited assets as anoverlay or included in a portion of the display screen during playbackof the stored edited asset. As illustrated in FIG. 7B, a user may beable to select more than one such editing tool to apply to the selectedassets.

FIG. 7C depicts illustrative media editing tool display screen 726 inwhich tab 728 labeled “Compress” is the currently selected editing tooltab. In an embodiment, a user may select one or more editing tools thatadjust the compression properties of the selected assets, either priorto or after storage. Such editing tools may allow a user to compress thevideo and/or audio portions of the selected assets. In FIG. 7C, a usermay select video and audio compression tools by selecting boxes 730 and732, respectively. Menus 734 and 736 may each provide at least onecompression option that can be applied to the selected assets. Forexample, menu 734 of FIG. 7C depicts the “low” compression option ascurrently selected, indicating that a low-compression scheme is to beemployed. Compression schemes that may be provided by an editing toolinclude lossy and lossless compression schemes, interframe videocompression, intraframe video compression, spatial redundancy reductiontechniques, methods that employ separate format and correctiontechniques, time or frequency domain methods, constant and variablebitrate techniques, or any appropriate encoding method that reduces thequantity of data required to store the selected assets.

FIG. 7D depicts illustrative media editing tool display screen 738 inwhich tab 740 labeled “Store With” is the currently selected editingtool tab. In an embodiment, a user may select one or more editing toolsthat adjusts the storage location properties of the edited selectedassets (i.e., the assets to be stored in accordance with the applicationof the desired editing tools to the selected assets).

Adjusting the storage location properties of the selected assets mayinclude replacing a stored asset with a selected asset. Such anembodiment is illustrated in FIG. 7D, wherein a user can select box 742to indicate a desire to replace one of the stored assets listed instored asset listing area 744 with the edited selected assets. In thescenario depicted in FIG. 7D, the selected asset (i.e., “Descent, PartI”) is the same as the stored selected asset in stored asset listingarea 744, and applying the editing tool will result in replacing theexisting stored selected asset with the edited selected asset.Additionally, more than one stored asset from stored asset listing area744 may be selected to be replaced by the edited selected assets.

Adjusting the storage location properties of the selected assets mayinclude storing a selected asset with a previously stored asset as asingle stored asset. This feature is illustrated in FIG. 7D, wherein auser may select a stored asset from stored asset listing area 744 withwhich to store the edited selected asset. When storing two or moreassets as a combined asset, the order of playback within the combinedasset may be designated by the user or may be designated by the editingtool. In an embodiment, the user may choose to have playback of thesingle stored asset begin with the selected asset, followed by thepreviously stored asset, or in the reverse order. When storing multipleselected assets with a previously stored asset, the user may specify thesequence in which playback of the single stored asset should occur. Inan embodiment, the editing tool may store a selected asset with apreviously stored asset such that playback occurs according to defaultparameters, such as commencing playback with the asset recordedearliest, the asset with the earliest initial broadcast date, or theasset with the earliest production date. The user may be given theoption of storing the edited selected asset as a new stored asset, andmay provide a title and additional information associated with the newstored asset. Such an option may be the default mode of operation of theediting process, and may be presented separately to the user at thebeginning or end of editing tool selection and customization.

FIG. 7E depicts an illustrative media editing tool display screen 748 inwhich tab 750 labeled “Combine” is the currently selected editing tooltab. In an embodiment, when a user selects multiple assets for editing,a user may choose to apply one or more editing tools that combine themultiple selected assets into a single stored asset (stored inaccordance with the other selected editing tools and options asdescribed previously). In FIGS. 7A-7D, tab 750 was shaded to indicatethat this set of editing tools was not available when a single asset isselected for editing. In FIG. 7E, two assets have been selected forediting, as displayed in selected asset display region 752.

In an embodiment, an editing tool is provided to include a transitionbetween two media assets being stored as a single asset. In FIG. 7E, auser may select such an editing tool by selecting box 754 and choosingfrom among the choices presented in transition options menu 756.Transition options may include any A-B roll-type editing options. Forvideo media, the transition options may include cut, crossfade, fades toand from a solid color, wipe, flip, blinds, checkerboard, cover,flyaways, splits, or any other. For audio media, the transition optionsmay include fades and cross-fades, among other common audio transitions.The transitions available to the user, as well as any editing tool, maydepend on equipment and performance limitations and requirements. Forexample, transition options may be excluded that may require unavailablecomputational resources, or may cause an inconvenient delay to the user.

In an embodiment, an editing tool may remove repeated content betweenthe multiple selected assets. As described previously, the existence ofrepeated content may be determined by asset storage engine 504 queryingstored assets database 510

(FIG. 5). Such an editing tool may only be presented when repeatedcontent is present between the multiple selected assets.

Many of the editing features and options illustrated in FIG. 7E anddescribed as falling within the “Combine” category of editing tools maybe applied to two or more media assets. These features may be presentedto a user under the “Store With” category. The organization of theediting tools and options described herein can be presented to a user inany appropriate manner, organization or via any appropriate userinterface. The organization of these tools may depend on a user'spreferences. For example, a separate editing tool tab “Popular Tools”may be provided that presents the most commonly used editing tools fromacross all categories, or those which the user has designated asfavorite tools. When an editing tool is applied more than once (forexample, when a user is storing several nature documentaries and appliesthe same editing tools to each documentary), a separate editing tool tabmay be presented that includes only the relevant tools. In anembodiment, asset storage engine 504 may automatically populate aseparate editing tool tab that displays frequently used editing tools.

FIG. 7E also displays a “More . . . ” category of editing tools.Additional editing tools may be included in this category, or may beassociated with any other suitable category. An editing tool may beincluded in more than one category, and additional categories may bedisplayed. In an embodiment, additional editing tools may be providedthat allow a user to overlay text or graphics onto a media asset, orinsert text or graphic segments at particular points within a mediaasset or assets. A user may choose to add any of a title screen, aclosing screen, a transition screen, an overlay, and a caption. Thetextual or graphical content of an overlay or insertion may be providedby a user through user input interface 310 (e.g., by typing on a keypador selecting alphanumeric characters from an display screen). Thetextual or graphical content of an overlay or insertion may be selectedby the user from information and content provided by a media provider orstored in the system (e.g., adding a title screen with the titleprovided by media information sources 508, or inserting an overlay of agraphic image stored in stored assets database 510). For example, a usermay wish to insert text relating the name and song selection of acontestant on a stored episode of “American Idol.” This text may takeany suitable form desired by the user, including an overlay during thecontestant's performance, or may be displayed before or during atransition into the contestant's performance.

Other collections of editing tools may be assembled and displayed. In anembodiment, a collection of editing tools may be designated by the user(e.g., “My Nature Tools”). In an embodiment, an editing tool orcollection of editing tools may be supplied by the media delivery system(e.g., as part of a subscription service or for a fee). In anembodiment, an editing tool or collection of editing tools may begenerated or supplied by another user of the system (e.g., “StevenSpielberg's Editing Tools”).

In an embodiment, the user may select at least one asset and customizeat least one editing tool. The at least one asset may be stored inaccordance with the customized at least one editing tool. Next, the usermay indicate the completion of the editing process (e.g., by selectingthe “Done” button 722 or by pressing a special key on a remote control).If the selected assets have already been stored, the asset storageengine 504 generates a set of storage instructions in asset storagetemplate 536 as described above with reference to FIG. 5. A storagedevice such as storage 308 of FIG. 3 receives asset storage template 536and stores the selected assets in accordance with asset storage template536. The newly stored asset may then appear in a stored asset displayscreen. FIG. 8 depicts illustrative stored assets display screen 800that may be displayed when a user selects “Done” button 722 in FIG. 7E.In stored asset display screen 800, the newly stored asset“Descent—Parts 1 and 2” is included in the list of stored media assets802.

FIGS. 9A-9B depict illustrative segment identification and editingdisplay screens in accordance with an embodiment of the invention. In anembodiment, users may interact directly with segments within theselected media assets (already stored and/or prior to storage). Featuresof such embodiments will be described with reference to illustrativedisplay screens 900 and 902 of FIGS. 9A and 9B, respectively. In displayscreen 900, the title of a selected asset is displayed in title region904 and a graphical depiction of the selected asset is displayed asasset timebar 906. Asset timebar 906 has first end 908 representing thestart point of the selected asset and second end 910 representing theend point of the selected asset. The times corresponding to these startand end points are displayed in times 912 and 914, respectively.

Between first and second ends 908 and 910 of asset timebar 906 aresegment markers 916, 918, 920 and 922. These segment markers representstop and end points of segments within the selected asset. For example,segment marker 918 represents the end point of segment 924 and the startpoint of segment 926. Display screen 900 includes current time indicator932 which identifies the point in the selected asset currently beingdisplayed in preview window 934. If a user selects “Preview” button 936,the selected asset (as will be stored in accordance with the current setof editing tools as described below) is displayed for the user to reviewprior to storage.

As described above, a segment marker at a point in the selected assetmay distinguish two portions of the selected asset (e.g., a commercialfrom a television program, a first song from a second song in astreaming audio broadcast, or a closing credits sequence from a mainportion of a movie). These segment markers may be specified by a user orprovided automatically (e.g., as discussed above with reference to mediainformation sources 508 of FIG. 5 or below with reference to steps1320-1326 of FIG. 13). For example, a user may specify segments byselecting points with a user input device in asset timebar 906. When apoint is selected, a marker such as segment marker 918 is placed aboveasset timebar 906 at the selected point, and that point now serves asthe end point and start point of the portion of the selected assetfollowing immediately prior to and immediately after the selected point,respectively.

In an embodiment, one or more thumbnail views or snapshots of theselected asset may be displayed for the user. Such thumbnail views mayassist a user in identifying portions of the asset that are of interestwhen generating segment markers. A thumbnail view screen may display anarray of frames or short clips captured at one or more intervals in anasset (e.g., at five-minute intervals or any other suitable timeinterval). In an embodiment, the thumbnail views may correspond topreviously-identified segments. For example, the thumbnail views may besingle frames or short clips from the beginning of each of theidentified segments. In an embodiment, a user may be able to identifysegments for inclusion in a stored asset by indicating the correspondingthumbnail views. In an embodiment, selecting a thumbnail view may allowa user to play back a portion of an asset, which may be related to thethumbnail view.

In an embodiment, once segment markers have been generated, segmentsthemselves may be selected and included in, excluded from, or subject toother editing for storage. For example, display screen 900 depictsselected segment 928. If a user selects “Include segment” button 930,selected segment 928 will be included in the selected asset when stored.If the user selects “Remove segment” button 938, selected segment 928will not be included in the selected asset when stored. If “Other tools. . . ” button 940 is selected, the user may be presented with an optionto select additional editing tools that can be applied to selectedsegment 928. Such an option may take the form of the editing tooldisplay screens illustrated in FIGS. 7A-7E, or a display of a subset ofthe editing tools available therein. For example, editing tool displayscreen 720 of FIG. 7B may be displayed when a user selects “Other tools. . . ” button 940. If the user indicates that a reduced memory optionis to be applied to a selected segment, a reduced memory portion may beincluded in the edited assets at the same start point as the selectedsegment occurs in the unedited assets.

The segments delineated by the segment markers may depend on the contentof interest to a user. Each of the segments may be displayed along witha subset of the characteristics of the content of the segment. Forexample, one user may only care to distinguish commercial advertisementsfrom television programs, while another user may care to distinguishbetween segments featuring different participants within a singletelevision game show. An example of a display screen addressing theneeds of the latter user is given by display screen 902 of FIG. 9B, inwhich the title of the selected asset is “American Idol—Episode 3” andsegments 942, 944 and 946 are displayed along with the featuredparticipants in each segment (“Kelly Clarkson,” “Justin Guarini,” and“Ryan Starr,” respectively). Such a display screen allows a user to makeediting decisions with improved speed and accuracy. The user mayindicate that he or she is finished with selecting the editing tools tobe applied to the selected asset by selecting “Done” button 948 orpressing a dedicated key on a user input device. FIGS. 9A-9B depict oneselected asset, but more than one asset may be selected and editedsimultaneously.

FIGS. 10A-10C depict illustrative custom tool configuration displayscreens in accordance with an embodiment of the invention. As discussedabove with reference to editing tool engine 512 of FIG. 5, editing toolsmay be created by a user and stored as part of stored editing tools 532.An editing tool may be created by a user directly by providing asequence of commands in an editing tool language interpretable byediting tool engine 512 (e.g., using a customized library of Cprogramming language commands with editing tool engine 512 that containsa C compiler). In an embodiment, an editing tool may be encoded in theETV Binary Interchange Format (EBIF) widget capable of being interpretedby interpreted by a user agent, for example, running on controlcircuitry 304 of FIG. 3. In an embodiment, an editing tool may beencoded as a series of JAVA-based files that are received and run by alocal virtual machine or other suitable middleware executed by controlcircuitry 304. Alternately, a user may create an editing tool through agraphical interface consisting of display screens such as thoseillustrated in FIGS. 10A-10C. In an embodiment, both an editing toollanguage and a graphical interface may be available to a user to definea new editing tool.

The custom tool configuration display screens of FIGS. 10A-10C appearsimilar in organization to the editing tool display screens of FIGS.7A-7E. Congruence between these two features of a media editing systemmay make such a system easier to use, and decrease the time required forusers to become adept with different features. The following descriptionof the custom tool configuration display screens of FIGS. 10A-10Cdetails the distinct features of these display screens as compared tothe editing tool display screens illustrated in FIGS. 7A-7E.

One feature illustrated in FIGS. 10A-10C is providing the user with theoption to name a new custom editing tool (e.g., by entering the desiredname in name field 1002 of display screen 1000). These names may be usedto identify the custom editing tool in an “Other tools” option such asthat selectable by box 716 of FIG. 7A, or button 940 of FIG. 9A). Asecond feature in an embodiment is providing the user with the choice ofapplying the custom editing tool to all stored media as a defaultediting tool. Such a choice is made, for example, by a user selectingbox 1004 in display screen 1000.

FIG. 10A depicts an editing tool tab 1006 labeled “Advanced” and FIG.10B illustrates display screen 1007 in which editing tool tab 1006 isthe selected editing tool tab. In an embodiment, a user is able to“build” an editing tool by supplying at least one “if-then” statementthat defines an editing tool to be applied if a certain condition ismet. In an embodiment, the condition may relate to the selected asset.For example, the condition may relate to the assets already stored(e.g., as determined by ASE 504 querying stored assets database 510). Auser may choose to add another “if-then” statement to the custom toolby, for example, selecting “Add” button 1008. Adding a new “if-then”statement may then cause display screen 1007 to display anothercustomizable “if-then” outline, as depicted by additional outline 1012in display screen 1010 of FIG. 10C.

FIG. 10C depicts an example of an appropriate “if-then” statement 1014.In the custom tool being configured in display screen 1010, if JustinGuarini is the featured participant in a program segment, then thatsegment will be removed in the stored edited asset when the custom ruleis applied. Note that applying this custom rule to the selected asset“American Idol—Episode 3” (as in the scenario illustrated in FIG. 9B)would result in the same stored edited asset as would be achieved by theuser selecting “Done” box 948 in display screen 902 of FIG. 9B. Anembodiment of the invention includes both custom editing toolconfiguration (e.g., as illustrated in FIGS. 10A-10C) and segmentidentification and editing (e.g., as illustrated in FIGS. 9A-9B). Suchembodiments may provide users with different levels of nonlinear editingcapabilities in an easy-to-use and consistent format.

The “if” conditions available to a user will depend on the informationavailable to ASE 504 from media information sources 508. Additionally,media information sources 508 will provide the information to ASE 504 todetermine whether an “if” condition is true for particular selectedassets. A user may decide to delete an “If-then” statement from thecustom tool, for example, by selecting the appropriate box in thedisplay screen, then selecting “Delete” button 1016 or pressing anappropriate key on a user input device. The user may save the customtool (e.g., by selecting “Save Tool” button 1018 of display screen 1010or pressing an appropriate key on a user input device).

FIGS. 11A-11B depict illustrative storage space requirements displayscreens in accordance with an embodiment of the invention. As discussedabove with reference to preferences and requirements 514 maintained instorage allocation engine 506 of FIG. 5, in an embodiment, a user isable to specify and customize a set of storage space requirements thatimpose constraints on the type, quantity and content of stored assets.In storage space requirements display screen 1100 of FIG. 11A, twostorage statistics are displayed in storage statistics display region1102: total storage space available for stored assets 1104 and storagespace remaining for new assets 1106 (i.e., the amount of availablestorage space not currently used by stored assets or already allocatedfor future stored assets). Storage statistics display region 1102 maydisplay any number of storage statistics including the percentage ofstorage used, storage use by media type or genre, or historical storageuse in graph form, for example. The statistics display in storagestatistics display region 1102 may be customized by the user.

In storage space constraints region 1108, a set of storage spacerequirements are listed. In FIG. 11A, one such constraint 1110 isdisplayed: the requirement that a maximum of 2 MB of storage space beused for media classed as a “movie.” A user may add new storage spaceconstraints by selecting “Add” button 1112 or by pressing an appropriatekey on a user input device. An illustration of a result of choosing toadd a new constraint is given by FIG. 11B, in which the user may specifythe parameters of newly added constraint 1114. Newly added constraint1114 may allow a user to provide both memory constraint 1116 andconstraint condition 1118. The memory constraint may be expressed in anysuitable form, for example, as an amount of the memory (e.g., “2 MB”), apercentage of total memory, a percentage of remaining/available memory,a memory location constraint when multiple storage locations areavailable (e.g., “Hard Drive 1” when assets can be stored to both “HardDrive 1” and “PDA Memory”).

The constraint criteria specify to which media the memory constraintshould be applied once stored. Constraint criteria may include type,genre, date stored, or any of the other media or asset informationdescribed herein. As discussed above, in an embodiment, constraintconditions are supplied by user equipment, by the media delivery system,or by a remote storage provider. In an embodiment, constraint conditionoptions may be presented to the user based on the type of equipment ontowhich assets are to be stored (e.g., different constraint conditions forstoring ring tones in a cell phone than for audio files on a portablemusic device). Once a user has completed configuring the desired storagespace requirements, he or she may select “Save” button 1120 to store theconfigured requirements for access by storage allocation engine 506.

FIG. 12 depicts illustrative automatic storage management tools displayscreen 1200 in accordance with an embodiment of the invention. In anembodiment, a set of storage management tools may be automaticallyapplied to stored assets and/or assets scheduled to be stored in orderto satisfy storage space requirements (e.g., those as described abovewith reference to preferences and requirements 514 (FIG. 5) of storageallocation engine 506 (FIG. 5) and the illustrative display screens ofFIGS. 11A-11B). Such embodiments may allow a user to select andcustomize a set of editing tools (e.g., as described above withreference to FIGS. 7A-7E), and/or storage space constraints (e.g., asdescribed above with reference to FIGS. 11A-11B), or a combination ofthe two. Such automatic storage management tools may be automaticallyapplied when storing an asset, either in its original form or inaccordance with an editing template, would violate a storage spacerequirement. In these cases, asset storage engine 504 may automaticallyapply these tools prior to storage. An embodiment of this process isdescribed in detail below with reference to FIG. 15. In an embodiment,the automatic storage management tools may be applied to the storedassets according to a schedule (e.g., once a week) and/or each time anew asset is stored.

In an embodiment, the automatic storage management tools may beprioritized (e.g., by a user, media storage provider or storage device).When a storage space requirement will be violated by the storage of anew asset, the automatic storage management tools will be applied to thestored assets in accordance with their priority until storing the newasset will no longer violate a storage space requirement. In displayscreen 1200, priorities 1204 and 1206 of the automatic storagemanagement tools 1208 and 1210, respectively, are indicated by numberswhich may correspond to a rank ordering. In an embodiment, the priorityof an automatic storage management tool may be specified by a selectionfrom a small set of choices (e.g., the three choices “low priority,”“medium priority,” and “high priority”) or a more continuous scale(e.g., positioning a slider bar to indicate a priority of an automaticstorage management tool between positions corresponding to “unimportant”and “very important”). In an embodiment, priority may be specified by amore complex set of criteria, as may be represented by a decision tree.

In some scenarios, a user may prefer that the stored assets undergo theminimal amount of editing required so that the new asset can be storedwithout violating the storage space requirements. In an embodiment, theuser may request that the minimum set of tools be used (for example, byselecting box 1202 of the automatic storage management tools displayscreen 1200). ASE 504 may determine this minimum set by applying anediting metric that quantifies the amount of transformation the storedassets would undergo when each of the tools is applied (e.g., the changein memory usage of the stored assets after editing, the change in totalduration of the stored assets after editing), then performing anoptimization routine to select the fewest number of automatic storagemanagement tools that, when applied, will allow the new asset to bestored without violating any storage space requirements.

FIG. 13 is a flow diagram of media editing and storage managementprocess 1300 in accordance with an embodiment of the invention. Theprocesses 1300, 1400 and 1500 of FIGS. 13, 14 and 15, respectively, maybe carried out by ASE 504, which may run on processing circuitry 306 ofuser equipment 300 (FIG. 3) or on processing equipment located remotelyat a media or Internet provider.

At step 1302 of process 1300, a selection of media to be recorded isreceived. Selected media could be any of the media items describedherein, and may be provided by a media provider, an Internet provider,or any other media source such as media content source 416 of FIG. 4. Asillustrated in FIG. 5, such a selection may serve as media storagerequest 502.

Once a media selection is received at step 1302, process 1300 mayproceed to step 1304, which begins the assembly of a list of theavailable information fields for the selected media. The availableinformation fields are the types of media information available for theselected program. For example, if the selected program is an episode ofthe television series “Law and Order,” available information fields forthis program may include “title,” “length,” “episode number,” and“featured actors.” As described above with reference to FIG. 5, theinformation that populates the available information fields may comefrom any of media information sources 508 (FIG. 5), such as mediacontent source 416 or media guidance data source 418 of FIG. 4.

At step 1304, process 1300 begins a scan of media information sources508. Specifically, at step 1304, process 1300 determines whether thereare any unscanned fields in media information sources 508 to beconsidered for inclusion in the list. At the start of the scan (i.e.,when process 1300 proceeds from step 1302 to step 1304), the list ofavailable information fields is empty, and none of media informationsources 508 have been scanned. Each of media information sources 508 maybe scanned sequentially, by considering each of the different mediainformation sources 508 one at a time. For example, at step 1304, theprogram information provided by EPG 522 may be examined. If there is aninformation field remaining to be scanned, the process 1300 moves tostep 1306 and determines whether the field is already included in thelist. Continuing with the above example of scanning EPG 522, each one ofthe available information fields in EPG 522 may be compared to thepending list of available information fields to determine whether theone available information field in the EPG is already contained in thepending list. If the information field has not been included in thelist, the field is added to the list in step 1308, at which pointprocess 1300 returns to step 1304 to consider whether additioninformation fields are available.

At step 1306, if a field is already included in the list, it is notincluded a second time and process 1300 returns to step 1304. In anembodiment, the availability of an information field from more than onemedia information source may be recorded by ASE 504 to be used tovalidate the information associated with that information field (e.g.,to correct errors). In an embodiment, ASE 504 stores a pre-assembledlist of available information fields, and process 1300 does not performthe scanning and checking steps 1304 and 1306. Such an embodiment mayadvantageously reduce the time required to execute the process of FIG.13 in media delivery systems in which the same information fields areavailable for all selectable media items. In an embodiment, process 1300is executed by ASE 504 on user equipment 300 (FIG. 3) and the list ofavailable information fields is stored in storage 308 (FIG. 3).

Once the list of available information fields has been assembled byproceeding through steps 1304-1308 until media information sources 508have been scanned, process 1300 may next proceed to step 1310 and beginto assemble a set of editing tools that could be applied to the selectedmedia. As discussed above (e.g., with reference to FIG. 7A), differentediting tools may require different types of information about theselected media. For example, an editing tool that replaces videocommercials with a still image advertisement will require knowledge ofthe start and end points of the commercials to be replaced, as well asstill image data files to use to replace the video commercials in thestored edited asset (as described above with reference to FIG. 7B). Ifsuch information is not available from any of media information sources508, the editing tool may not be successfully applied. Thus, in a manneranalogous to the assembly of the available information fields listdescribed with reference to steps 1304-1308, in steps 1310-1314, anediting tool set may be constructed in which each editing tool iscompatible with the available information for the selected media.Process 1300 may include querying any of a number of editing toolsources when assembling the editing tool set, as described above withreference to editing tool engine 512 of FIG. 5.

Specifically, at step 1310, process 1300 determines whether there areadditional editing tools to consider from any additional sources in theconstruction of the editing tool set. If such an editing tool exists,the information requirements of that tool are compared against theavailable information fields list for the selected media (step 1312). Ifthe information requirements of the editing tool are compatible with theavailable information fields list, the editing tool is added to theediting tool set at step 1314. If the editing tool is not compatiblewith the available information fields list (e.g., the editing toolrequires unavailable content information), process 1300 returns to step1310 to consider additional editing tools.

Once all editing tools have been considered, the editing tool set iscomplete and is presented to the user at step 1316. At step 1318, theuser may select and customize the editing tools to be applied to theselected media (as described above with reference to FIGS. 7A-7E and10A-10C). In an embodiment, the tool set is not presented to a user atstep 1316. Instead, the step 1316 is omitted and the step 1318 isperformed automatically, without a user's direct intervention. Theautomatic selection of an editing tool may be performed by ASE 504, forexample, in accordance with at least one of automatic storage managementtools 515 of FIG. 5 (as discussed above with reference to FIG. 12). Inan embodiment, a user may customize the editing tools via user inputinterface 310 (FIG. 3).

Once a selection of an editing tool is received at step 1318, process1300 proceeds to step 1320 to begin to extract the media informationassociated with the information fields required by the selected editingtool. This extraction takes place in steps 1320-1328. In an embodiment,this information extraction process is performed substantiallyconcurrently with the process of assembling the available informationfields list (steps 1304-1308), or immediately following the assembly ofthe list. Such embodiments may be advantageous in that they only requirea single period of information retrieval from media information sources508. However, such embodiments may result in the accumulation of mediainformation that is irrelevant to the selected editing tool, adding bothunnecessary computation time and memory resources.

Steps 1320-1328 describe in detail an information extraction procedurethat may be followed to address the potential requirement by theselected editing tools for segment markers. It will be understood thatany media information feature may be addressed with a substantiallysimilar procedure (in addition to, or instead of segment markers).

At step 1320, the information requirements of the selected editing toolare considered to determine whether segment markers (as discussed above,for example, with reference to FIGS. 9A-9B) are required by the selectedediting tool. If segment markers are not required by the selectedediting tool, process 1300 proceeds to step 1322 and extracts theremaining required information corresponding to the required fields frommedia information sources 508.

If segment markers are required by the selected editing tool, process1300 proceeds to step 1324 to determine whether such segment markershave already been stored (for example, in EPG 522, local storage 528 orremote storage 530) or will be provided (for example, by media contentsource 416 or media guidance data source 418 of FIG. 4, orreal-time/streaming information source 520 or content analysis engine518 of FIG. 5). If the segment markers are already stored or will beprovided, process 1300 moves to step 1322 and the remaining requiredinformation (including the segment markers) are extracted. If thesegment markers will be provided by real-time/streaming informationsource 520, process 1300 may not perform step 1322 until the segmentmarker information is received. If segment markers are not alreadystored, process 1300 may proceed to step 1326 and invoke contentanalysis engine 518 of FIG. 5, which may generate the required segmentmarkers. Process 1300 may then proceed to step 1322 to extract theremaining required information for the selected editing tool.

Once all required information has been extracted, process 1300 proceedsto step 1328 and provides asset storage template 536. The asset storagetemplate contains storage instructions for the selected media inaccordance with the selected editing tools (as discussed above withreference to asset storage template 536 of FIG. 5). Optionally, process1300 proceeds from step 1328 to step 1330 and user approval of assetstorage template 536 is requested. Step 1330 may be accompanied by apreview or summary of the edited asset (i.e., the asset that will becreated when the selected media is stored in accordance with assetstorage template 536). In an embodiment, approval is requested, and/orthe preview or summary is displayed, by display 312 of user equipment300 (FIG. 3). As noted with reference to step 1318, approval may berequested at step 1330 without requiring user intervention. This stepmay be performed by comparing the edited asset against some set ofcriteria (e.g., criteria that specify that edited television programs ofa certain genre be no more than a certain duration, or that edited audioassets have a dynamic range falling within certain bounds). If approvalof the edited asset is not received, process 1300 may return to step1316 and present the set of editing tools. If approval of the editedasset is received, process 1300 moves on to step 1332 to begin toaddress the edited asset's satisfaction of the storage requirements.

At step 1332, it is determined whether the edited asset meets theexisting storage requirements. In an embodiment, these storagerequirements have been configured by the user in the manner describedabove with reference to FIGS. 11A-11B. The storage requirements may beimposed by a media delivery provider, a media storage provider, localstorage equipment, or any combination of any of these sources. If theedited asset will satisfy all of the storage requirements when stored,process 1300 may proceed to step 1334 and store the selected media inaccordance with the asset storage template 536.

If, at step 1332, it is determined that one or more of the storagerequirements would be violated by the edited asset when stored, process1300 proceeds to step 1336 and determines whether any storage managementoptions have been configured or set. In an embodiment, storagemanagement options are configured by the user (for example, in themanner described above with reference to FIG. 12). Such managementoptions may be configured by a remote storage provider or set for alocal storage device such as storage 308 (FIG. 3). If, at step 1336, itis determined that storage management options have been configured orset (for example, by querying preferences and requirements 514 ofstorage allocation engine 506), process 1300 may proceed to step 1342and determine if applying the management options will satisfy thestorage requirements. For example, FIG. 12 depicts an embodiment inwhich two storage management tools have been specified: a first toolthat deletes the oldest stored assets when additional storage space isrequired, and a second tool that provides instructions to compress theselected media if it is in HD prior to storage. As discussed above withreference to FIG. 12, in an embodiment, ASE 504 may determine whetherapplication of a combination of the first and second tools will satisfythe storage requirements.

However, at step 1336, if it is determined that no management optionshave been set, process 1300 proceeds to step 1338 to configure storagemanagement options before proceeding to step 1342 to determine ifapplying the management options will satisfy the storage requirements.If applying the management options will satisfy the requirements,process 1300 may proceed to step 1340 to modify asset storage template536 in accordance with the storage management options.

However, at step 1342, if it is determined that the storage requirementsare not satisfied, process 1300 may proceed to step 1346 to prompt theuser to adjust at least one of the management options and/or theselection and customization of the editing tool set (“re-edit”). If theuser chooses to “re-edit” at step 1346, process 1300 returns to step1316 and presents the editing tool set to the user. In an embodiment,the editing tool set is presented to the user in the most recentconfiguration when process 1300 returns to step 1316. In an embodiment,all or some of the previous user customizations of the editing tool setare reset to default values. If the user chooses to reconsider themanagement options at step 1346, process 1300 proceeds to step 1338 toadjust the management options. In an embodiment, the user may reconsiderthe editing tools and the management options substantially concurrently,or be provided the opportunity to consider both before another check onthe storage requirements is performed (e.g., at step 1332).

Once it is determined at step 1342 that the storage requirements aresatisfied, process 1300 proceeds to step 1334 and stores the selectedmedia in accordance with asset storage template 536. In an embodiment,the selected media is stored on storage 308 of user equipment 300 (FIG.3).

FIG. 14 is a flow diagram of process 1400 for managing storage space ofprograms stored on a storage device in accordance with an embodiment ofthe invention.

At step 1402, a selection of at least one program is received (e.g.,media storage request 502 at ASE 504 of FIG. 5).

Process 1400 next proceeds to step 1404, in which at least one editingtemplate is provided based on the at least one program selected in step1402 (e.g., ASE 504 provides asset storage template 536 of FIG. 5). Inan embodiment, the editing template is provided at step 1404 based on atleast one of: the content of the at least one program; metadataassociated with the at least one program; stored user preferences basedon the content of the at least one program (e.g., as stored in storageallocation engine 506 and provided by media information sources 508 ofFIG. 5). In an embodiment, step 1404 is based on assets already storedon the storage device (e.g., in stored assets database 510 of FIG. 5and/or storage 308 of FIG. 3). In an embodiment, the editing templateprovided in step 1404 is created by a user (e.g., as discussed withreference to FIGS. 9A-9B).

Next, at step 1406, a selection of at least one editing template(provided in step 1404) is received (e.g., the user approval of step1330 of FIG. 13, and/or via user input interface 310 of FIG. 3).

Process 1400 moves from step 1406 to step 1408 and stores the at leastone program (selected in step 1402) on the user equipment in accordancewith the at least one editing template selected in step 1404. In anembodiment, ASE 504 may perform step 1408 as described with reference tostep 1334 of FIG. 13. In an embodiment, step 1408 includes at least oneof: compressing a portion of the at least one program and removing aportion of the at least one program. In an embodiment, a removed portionmay be at least one of a commercial, an opening sequence, a closingsequence, a preview sequence, a repeated sequence and a recap sequence.In an embodiment, a removed portion is the same as a portion of a storedasset. Examples of each of these elements are described in detail withreference to FIGS. 7A-7E.

In an embodiment, step 1408 includes storing a first and a secondprogram as corresponding portions of a stored asset. The first andsecond programs may be sequential parts of a media event, and/or avisual transition may be generated between the first and second portionswithin the stored asset (e.g., as described with reference to FIG. 7E).

Optional steps that may be included in process 1400 include: accessingthe at least one program from a storage space (e.g., storage 308 of FIG.3), accessing the at least one program from a remote source (e.g., mediacontent source 416 of FIG. 4), accessing the at least one program from astorage buffer, and/or receiving the at least one editing template froma remote source (e.g., stored editing tools 532 of FIG. 5).

Process 1400 may include the steps of: checking an amount of storagespace available in the storage device; comparing the amount of storagespace available to a storage space requirement; and providing the atleast one editing template based on the comparison between the amount ofstorage space available and the storage space requirement (e.g., asdiscussed above with reference to storage space requirements andautomatic storage management tools of FIGS. 11A-11B and 12).

Process 1400 may include the steps of: determining a contentcharacteristic of the at least one program; and providing the at leastone editing template based on the determined content characteristic(e.g., as described above with reference to FIGS. 7A-7E and 9A-9B). Thecontent characteristic may be a television series to which the at leastprogram belongs and/or a featured participant in the at least oneprogram. In an embodiment, step 1408 includes storing a portion of theat least one program which includes a featured participant (e.g.,“including” segments featuring Kelly Clarkson as depicted in FIG. 10B).

FIG. 15 is a flow diagram of process 1500 for managing storage space ofprograms stored on a storage device in accordance with an embodiment ofthe invention.

At step 1502, at least one stored program from a storage space isaccessed (e.g., from stored assets database 510 of FIG. 5 and/or storage308 of FIG. 3).

Process 1500 next proceeds to step 1504 to detect a first segment withinthe at least one stored program (e.g., by invoking content analysisengine 518 or any of media information sources 508 of FIG. 5). In anembodiment, step 1504 includes applying a set of segment markers to theat least one stored program (e.g., as discussed above with reference toFIGS. 9A-9B). In an embodiment, process 1500 includes a step ofreceiving the set of segment markers from a remote source. The set ofsegment markers may include segment time markers and segment contentidentifiers.

From step 1504, process 1500 proceeds to step 1506 to receive aselection of an editing tool (e.g., as discussed above with reference toFIGS. 7A-7E). In an embodiment, step 1506 includes receiving a selectionof a first editing option and receiving a selection of a second editingoption (e.g., selecting more than one of the editing tools displayed inthe display screens of FIGS. 7A-7E, which may be presented via display312 of FIG. 3).

Next, process 1500 moves to step 1508, where an edited first segment isgenerated based on the editing tool selected in step 1506 and the firstsegment detected in step 1504, wherein the edited first segment is atransformation of the first segment (e.g., replacing a portion of aselected media asset with a reduced memory portion as described abovewith reference to FIG. 7B). The transformation may be based on acomparison of segment content identifiers with a set of user contentpreferences (e.g., the featured participants of the segments of theselected media asset of FIG. 9B). In an embodiment, the transformationis at least one of: a compression; a change in video standard; removinga portion of the first segment (which may include at least one of acommercial, an opening sequence, a closing sequence, a preview sequence,a repeated sequence and a recap sequence); replacing a first portion ofthe first segment with a second portion, wherein the second portionrequires a smaller amount of storage space than the first portion (thereduced memory portion may include at least one of a static image, atext message, a low-resolution segment, an abbreviated segment, and acompressed segment). Examples of embodiments including each of thesefeatures are discussed above with reference to FIGS. 7A-7E. Thetransformation may be based on a set of user preferences, which mayinclude at least one of content preferences and display preferences, ormay be based on a set of previously stored assets (e.g., the assets andpreferences stored in preferences and requirements 514 and stored assetsdatabase 510, respectively).

From step 1508, process 1500 proceeds to step 1510 and a program assetis stored that includes the edited first segment on the storage device(e.g., storage 308 of FIG. 3). In an embodiment, the edited firstsegment is stored with a previously stored program asset (e.g., asdiscussed above with reference to FIG. 7D). In an embodiment, the storedprogram asset replaces the at least one stored program in memory.

In an embodiment, process 1500 includes at least one of the followingadditional steps: generating a set of segment markers based on thecontent of the at least one stored program (which may be based on a setof user content preferences or specified by a user) (e.g., by invokingthe content analysis engine 518 of FIG. 5).

In an embodiment, process 1500 includes the step of detecting a secondsegment within the at least one stored program. In these embodiments,the first and second segments may be sequential parts of a media event,the program asset may include the second segment, and/or a visualtransition between the edited first segment and the second segment(e.g., as discussed above with reference to FIG. 7E).

In an embodiment, process 1500 includes the step of generating an editedsecond segment based on the selected editing tool and the secondsegment, wherein the edited second segment is a second transformation ofthe second segment, and the program asset comprises the edited secondsegment. The editing tool may generate the edited second segment basedat least in part on the content of the first segment, and the firsttransformation may be based at least in part on a comparison of thecontent of the first and second segments (e.g., as discussed above withreference to FIG. 7A). In an embodiment, process 1500 includes the stepof saving the selected editing tool (e.g., with stored editing tools 532of FIG. 5).

It is to be understood that while certain forms of the present inventionhave been illustrated and described herein, it is not to be limited tothe specific forms or arrangement of parts described and shown. Thoseskilled in the art will know or be able to ascertain using no more thanroutine experimentation, many equivalents to the embodiments andpractices described herein. Accordingly, it will be understood that theinvention is not to be limited to the embodiments disclosed herein.

1.-24. (canceled)
 25. A method for managing storage space of programsstored on a storage device, the method comprising: accessing at leastone stored program from a storage space; detecting a first segmentwithin the at least one stored program; receiving a selection of anediting tool; generating an edited first segment based on the selectedediting tool and the first segment, wherein the edited first segment isa transformation of the first segment; storing a program asset thatcomprises the edited first segment on the storage device.
 26. The methodof claim 25, wherein detecting a first segment within the at least onestored program comprises applying a set of segment markers to the atleast one stored program.
 27. The method of claim 26, further comprisingreceiving the set of segment markers from a remote source.
 28. Themethod of claim 26, further comprising generating the set of segmentmarkers based on the content of the at least one stored program.
 29. Themethod of claim 28, wherein generating the set of segment markers isbased on a set of user content preferences.
 30. The method of claim 26,wherein the set of segment markers is specified by a user.
 31. Themethod of claim 26, wherein the set of segment markers comprises segmenttime markers and segment content identifiers.
 32. The method of claim31, wherein the transformation is based on a comparison of the segmentcontent identifiers with a set of user content preferences.
 33. Themethod of claim 25, wherein the transformation is a compression.
 34. Themethod of claim 25, wherein the transformation is a change in videostandard.
 35. The method of claim 25, wherein the transformationcomprises removing a portion of the first segment.
 36. The method ofclaim 35, wherein the removed portion includes at least one of acommercial, an opening sequence, a closing sequence, a preview sequence,a repeated sequence and a recap sequence.
 37. The method of claim 25,wherein the transformation comprises replacing a first portion of thefirst segment with a second portion, wherein the second portion requiresa smaller amount of storage space than the first portion.
 38. The methodof claim 37, wherein the reduced memory portion comprises at least oneof a static image, a text message, a low-resolution segment, anabbreviated segment, and a compressed segment.
 39. The method of claim25, wherein the transformation is based on a set of user preferences.40. The method of claim 39, wherein the user preferences comprise atleast one of content preferences and display preferences.
 41. The methodof claim 25, wherein the transformation is based on a set of previouslystored assets.
 42. The method of claim 41, wherein storing a programasset that comprises the edited first segment on the user equipmentcomprises storing the edited first segment with a previously storedprogram asset.
 43. The method of claim 25, wherein storing the programasset comprises replacing the at least one stored program, in memory,with the program asset.
 44. The method of claim 25, further comprisingdetecting a second segment within the at least one stored program. 45.The method of claim 44, wherein the first and second segments aresequential parts of a media event.
 46. The method of claim 45, whereinthe program asset comprises the second segment.
 47. The method of claim46, wherein the program asset comprises a visual transition between theedited first segment and the second segment.
 48. The method of claim 44,further comprising generating an edited second segment based on theselected editing tool and the second segment, wherein the edited secondsegment is a second transformation of the second segment, and theprogram asset comprises the edited second segment.
 49. The method ofclaim 48, wherein the editing tool generates the edited second segmentbased at least in part on the content of the first segment.
 50. Themethod of claim 44, wherein the first transformation is based at leastin part on a comparison of the content of the first and second segments.51. The method of claim 25, wherein receiving a selection of an editingtool comprises: receiving a selection of a first editing option; andreceiving a selection of a second editing option.
 52. The method ofclaim 25, further comprising saving the selected editing tool. 53.-76.(canceled)
 77. A system for managing storage space of programs stored ona storage device, the system comprising: a user input configured toreceive a selection; a storage device configured to store at least onprogram; and processing circuitry, communicably coupled to the userinput and the storage device and configured to: access at least onestored program from a storage space; detect a first segment within theat least one stored program; receive a selection of an editing tool;generate an edited first segment based on the selected editing tool andthe first segment, wherein the edited first segment is a transformationof the first segment; store a program asset that comprises the editedfirst segment on the storage device.
 78. The system of claim 77, whereindetecting a first segment within the at least one stored programcomprises applying a set of segment markers to the at least one storedprogram.
 79. The system of claim 78, wherein the processing circuitry isfurther configured to receive the set of segment markers from a remotesource.
 80. The system of claim 78, wherein the processing circuitry isfurther configured to generate the set of segment markers based on thecontent of the at least one stored program.
 81. The system of claim 80,wherein generating the set of segment markers is based on a set of usercontent preferences.
 82. The system of claim 78, wherein the set ofsegment markers is specified by a user.
 83. The system of claim 78,wherein the set of segment markers comprises segment time markers andsegment content identifiers.
 84. The system of claim 83, wherein thetransformation is based on a comparison of the segment contentidentifiers with a set of user content preferences.
 85. The system ofclaim 77, wherein the transformation is a compression.
 86. The system ofclaim 77, wherein the transformation is a change in video standard. 87.The system of claim 77, wherein the transformation comprises removing aportion of the first segment.
 88. The system of claim 87, wherein theremoved portion includes at least one of a commercial, an openingsequence, a closing sequence, a preview sequence, a repeated sequenceand a recap sequence.
 89. The system of claim 77, wherein thetransformation comprises replacing a first portion of the first segmentwith a second portion, wherein the second portion requires a smalleramount of storage space than the first portion.
 90. The system of claim89, wherein the reduced memory portion comprises at least one of astatic image, a text message, a low-resolution segment, an abbreviatedsegment, and a compressed segment.
 91. The system of claim 77, whereinthe transformation is based on a set of user preferences.
 92. The systemof claim 91, wherein the user preferences comprise at least one ofcontent preferences and display preferences.
 93. The system of claim 77,wherein the transformation is based on a set of previously storedassets.
 94. The system of claim 93, wherein storing a program asset thatcomprises the edited first segment on the user equipment comprisesstoring the edited first segment with a previously stored program asset.95. The system of claim 77, wherein storing the program asset comprisesreplacing the at least one stored program, in memory, with the programasset.
 96. The system of claim 77, wherein the processing circuitry isfurther configured to detect a second segment within the at least onestored program.
 97. The system of claim 96, wherein the first and secondsegments are sequential parts of a media event.
 98. The system of claim97, wherein the program asset comprises the second segment.
 99. Thesystem of claim 98, wherein the program asset comprises a visualtransition between the edited first segment and the second segment. 100.The system of claim 96, wherein the processing circuitry is furtherconfigured to generate an edited second segment based on the selectedediting tool and the second segment, wherein the edited second segmentis a second transformation of the second segment, and the program assetcomprises the edited second segment.
 101. The system of claim 100,wherein the editing tool generates the edited second segment based atleast in part on the content of the first segment.
 102. The system ofclaim 96, wherein the first transformation is based at least in part ona comparison of the content of the first and second segments.
 103. Thesystem of claim 77, wherein receiving a selection of an editing toolcomprises: receiving a selection of a first editing option; andreceiving a selection of a second editing option.
 104. The system ofclaim 77, wherein the processing circuitry is further configured to savethe selected editing tool. 105.-156. (canceled)